package com.mydemo.print;

import com.mydemo.entity.Car;
import com.mydemo.entity.Driver;
import com.mydemo.entity.Save;

public class Print {
    public static void printMainMenu() {
        System.out.println("""
                ******************************
                这是一个租车游戏
                1. 新游戏
                2. 继续游戏
                3. 成就
                4. 退出
                """);
        System.out.print("请选择");
    }

    public static void printSaves(Save save) {
        System.out.println("+++++++++++++++");
        System.out.println("存档：" + save.getId());
        System.out.println("存档名: " + save.getSaveName());
        System.out.println("公司名称：" + save.getBrandName());
        System.out.println("上次游玩时间：" + save.getLastPlayTime());
        System.out.println("游戏内天数：" + save.getDay());
        System.out.println("资产：" + save.getMoney());
        System.out.println("+++++++++++++++");
    }

    public static void prepareStageRead() {
        System.out.println("""
                这是一天中的整备阶段，在这个阶段，你可以指定某个司机去开某辆车
                当然，现在你既没有司机，也没有车。不过没有关系，等到雇佣阶段的时候，
                你就可以选择去人才市场雇佣一位司机，或者去汽车公司租赁一辆车了
                """);
    }

    public static final void runStageRead() {
        System.out.println("""
                这是一天中的运营阶段，在这个阶段，按照你的指示，司机将驾驶车辆运营线路
                这个阶段你不能进行干预，不过一些突发事件会显示在这里
                （你可以选择不显示这个阶段）（开发中）
                """);
    }

    public static final void resultStageRead() {
        System.out.println("""
                这是一天中的结果阶段，你今天的所有营业结果都将会显示在这里
                这个阶段你同样无法没有可以干预的地方，因为没什么可以干预的了
                """);
    }

    public static final void hireStageRead() {
        System.out.println("""
                这是一天中的雇佣阶段，在这个阶段，
                你可以选择去人才市场雇佣司机，
                或者去4s店，二手车市场租赁一些车辆。
                当然，你也可以选择去二手车市场卖掉一些现有的车辆换取一些资金
                """);
    }

    public static void printCarHasDriver(Car car) {
        System.out.println("--------------------");
        System.out.println("车牌号：" + car.getCarId());
        System.out.println(car.getCarBrand() + "\t" + car.getCarModel() + "\t" + car.getCarModelDetail());
//        System.out.println("司机：" + );
//        ↑ 这里得查找一下，根据车辆id查找是谁在开这辆车
//        List<Driver> driver = DataUtil.select(Driver.class,"Driver","car",car.getId());
//        Driver carDriver =driver.get(0);
//        System.out.println("司机：" + carDriver.getName());
//        System.out.println("司机等级：" + carDriver.getLevel());
//        System.out.println("司机当前经验：" + carDriver.getExperience());
//        System.out.println("距离下一级还差多少经验：" + "功能还没写，先凑乎着看");
        System.out.println("--------------------");
    }

    public static void printCarNoDriver(Car car) {
        System.out.println("--------------------");
        System.out.println("车牌号：" + car.getCarId());
        System.out.println(car.getCarBrand() + "\t" + car.getCarModel() + "\t" + car.getCarModelDetail());
        System.out.println("当前无人驾驶");
        System.out.println("--------------------");
    }

    public static final void printDriver(Driver driver) {
        System.out.println("--------------------");
        System.out.println("Id：" + driver.getId());
        System.out.println("司机姓名：" + driver.getName());
        System.out.println("司机驾照：" + driver.getDriverLicense());
        System.out.println("司机经验：" + driver.getExperience());
        System.out.println("司机等级：" + driver.getLevel());
        System.out.println("日薪：" + driver.getSalary());
        System.out.println("--------------------");
    }

    public static final void printCar(Car car){
        System.out.println("--------------------");
        System.out.println("Id:" + car.getId());
        System.out.println(car.getCarBrand() + car.getCarModel() + car.getCarModelDetail());
        System.out.println("日租金：" + car.getRentPrise());
        System.out.println("座位数：" + car.getSeatNum());
        System.out.println("当前是否有司机：" + car.isDrive());
        System.out.println("--------------------");
    }

}
